# -*- encoding: utf-8 -*-
import random

class Bubble:
	'''Algoritmo de ordenação por flutuação.'''

	def __init__(self, unsortedList):
		'''Construtor da classe
		@param unsortedList -> lista que vai ser ordenada
		'''

		self.unsortedList = unsortedList
		self.bubble(unsortedList)
		
	def bubble(self,unsortedList):
		'''Esta função percorre o array várias vezes, pegando na última posição do array e verificando sempre com a posição
		anterior vai levando o valor mais pequeno para o ínicio do array.
		@param unsortedList -> lista que vai ser ordenada
		'''
		self.unsortedList = unsortedList
		for i in xrange(0, len(unsortedList)-1): # Começa na primeira posição do array e vai aumentando até à última.
			for j in xrange(len(unsortedList)-1, i, -1): # Começas na última posição do array e diminui até ao actual i
			    if unsortedList[j] < unsortedList[j - 1]:
					unsortedList[j-1],unsortedList[j] = unsortedList[j],unsortedList[j-1]